# 安装了pymongo插件，从pymongo里面引入MongClient
# pip3 install pymongo
from pymongo import MongoClient
# 不用类的方式创建连接
# 主函数执行
if __name__=='__main__':
    # 如果mongodb没有开启，也会提示connect=True 但无法进行下一步
    # 连接本地Mongodb数据库 获得连接成功的句柄
    client = MongoClient('127.0.0.1',27017)
    # print(client)
    
    '''查看数据库'''
    # 获取mongobd的数据库的名字存为数组list
    dbs = client.list_database_names()
    # 遍历获取的数据库数组
    # print(dbs)

    '''查看集合'''
    # 查看test集合
    testDB = client['test']
    # 查看test数据库中的集合名字存为数组cols
    cols = testDB.list_collection_names()
    # print(cols)

    '''查看文档'''
    stu = testDB['stu']
    docs = stu.find({"score":{"$gt":90}})
    # print(docs) # 输出了一个对象所在的内存地址
    # 用法和数组一致
    # for d in docs:
    #     print(d)

    '''将格式改为和mongosh命令一样'''
    db = client['test']
    # 查找1班年龄大于18岁的男生的姓名和年龄
    result = db.stu.aggregate([
        {
            '$match':{
                'age':{'$gt':18},
                'sex':1
            }
        },{
            '$project':{
                '_id':0,
                'name':"$stuName",
                'age':1
            }
        }
    ])   
    print(result) 
    for  res in result:
        print(res)

